#include <iostream>
#include <vector>

using namespace std;

/*************
> 尝试用递归的方式求解以下问题

有一个农夫赶着一群羊去卖，他每走过一个村庄，就卖掉当前所有羊的一半又一只。就这样，当他走过了 7 个村庄之后，
他还剩下 2 头羊。编写一个函数：

* 打印农夫出发时总共有多少头羊；
* 打印农夫经历每一个村庄时，都卖了多少头羊；
 
**************/

int sheepCount(int village) {
    if (village == 7){
        return 2;
    }
    
    village += 1;

    int sheep = sheepCount(village);

    cout<<village<<" : "<<sheep<<endl;

    //计算本村zhuang的羊数
    sheep = (sheep+1)*2;

    return sheep;    
}

int main(int argc, char const *argv[])
{
    int sheep = sheepCount(10);

    cout<<0<<" : "<<sheep<<endl;

    return 0;
}


